package com.github.link2fun.schedule.modular.job.service;

import com.github.link2fun.schedule.modular.job.model.SysJobLog;
import com.github.link2fun.support.core.page.Page;


import java.util.List;

public interface ISysJobLogService  {

  /**
   * 获取quartz调度器日志的计划任务
   *
   * @param jobLog 调度日志信息
   * @return 调度任务日志集合
   */
  List<SysJobLog> selectJobLogList(SysJobLog jobLog);

  /**
   * 通过调度任务日志ID查询调度信息
   *
   * @param jobLogId 调度任务日志ID
   * @return 调度任务日志对象信息
   */
  SysJobLog selectJobLogById(Long jobLogId);

  /**
   * 新增任务日志
   *
   * @param jobLog 调度日志信息
   */
  void addJobLog(SysJobLog jobLog);

  /**
   * 批量删除调度日志信息
   *
   * @param logIds 需要删除的日志ID
   * @return 结果
   */
  long deleteJobLogByIds(List<Long> logIds);

  /**
   * 删除任务日志
   *
   * @param jobId 调度日志ID
   * @return 结果
   */
  long deleteJobLogById(Long jobId);

  /**
   * 清空任务日志
   */
  void cleanJobLog();

  Page<SysJobLog> pageSearchJobLog(Page<SysJobLog> page, SysJobLog jobLog);
}
